package com.photography.utils;


import org.springframework.util.StringUtils;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;

public class DateUtil {
	/**
	 * 预定义的日期格式
	 */
	public static final String YYYY_MM_DD_HH_MM_SS = "yyyy-MM-dd HH:mm:ss";
	public static final String YYYY_MM_DD_HH_MM = "yyyy-MM-dd HH:mm";

	/**
	 * 字符串转换成日期
	 * @param str 字符串
	 * @param dateFormat 字符串的格式
	 * @return
	 */
	public static Date strToDate(String str, String dateFormat) {
		if(StringUtils.isEmpty(str)){
			return null;
		}
		try {
			SimpleDateFormat format = new SimpleDateFormat(dateFormat);
			return format.parse(str);
		} catch (ParseException e) {
			return null;
		}
	}

	/**
	 * 日期转换成字符串
	 * @param date 日期
	 * @return str 要转换成字符串的格式
	 */
	public static String dateToStr(Date date, String dateFormat) {
		if(date==null){
			return null;
		}
		try {
			SimpleDateFormat format = new SimpleDateFormat(dateFormat);
			String str = format.format(date);
			return str;
		}catch (Exception e){
			return null;
		}
	}

	/**
	 * 字符串转换成字符串
	 * @param str 字符串
	 * @param dateFormatOri 原始字符串日期格式
	 * @param dateFormatDes 目标字符串日期格式
	 * @return 目标字符串
	 */
	public static String strToStr(String str, String dateFormatOri, String dateFormatDes) {
		if (StringUtils.isEmpty(dateFormatOri) || StringUtils.isEmpty(dateFormatDes)) {
			return null;
		}
		return dateToStr(strToDate(str, dateFormatOri), dateFormatDes);
	}
}
